﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using _3.Datos.Seguridad;
using _4.Modelado.Seguridad;

namespace _2.Logica.Seguirdad
{
   public class PermisoL: Negocio
    {
        public DataTable LlenarPermisos()
        {
            try
            {
                IniciarTransanccion();

                var objBD = new PermisoBD();

                DataTable lista = objBD.LlenarPermisos(this.comando);

                CerrarConexion();

                return lista;
            }
            catch (Exception exc)
            {
                CerrarConexion();
                throw exc;
            }
        }

        public List<Permiso> ConsultarPermiso()
        {
            try
            {
                this.IniciarTransanccion();

              var objBD = new PermisoBD();

                List<Permiso> lista = objBD.ConsultarPermisos(this.comando);

                this.CerrarConexion();

                return lista;
            }
            catch (Exception exc)
            {
                this.CerrarConexion();
                throw exc;
            }
        }

        public void InsertarPerfilPermiso(Permiso obj)
        {
            try
            {
                IniciarTransanccion();


                var objBD = new PermisoBD();

                objBD.InsertarPerfilPermiso(comando, obj);

                ConfirmarTransaccion();

            }
            catch (Exception e)
            {
                DeshacerTransaccion();
                throw e;
            }
        }

        public void EliminarPerfilPermiso(Permiso obj)
        {
            try
            {
                this.IniciarTransanccion();

                var objBD = new PermisoBD();

                objBD.EliminarPerfilPermiso(this.comando, obj);

                this.ConfirmarTransaccion();

            }
            catch (Exception e)
            {
                this.DeshacerTransaccion();
                throw e;
            }
        }

        public List<Permiso> ConsultarPermisosActivos(int idPerfil)
        {
            try
            {
                this.IniciarTransanccion();

                PermisoBD objBD = new PermisoBD();

                List<Permiso> lista = objBD.ConsultarPermisosActivos(this.comando, idPerfil);

                this.CerrarConexion();

                return lista;
            }
            catch (Exception exc)
            {
                this.CerrarConexion();
                throw exc;
            }
        }

      
        public List<Permiso> ConsultarEstadoPermiso(int CodPerfil)
        {
            try
            {
                this.IniciarTransanccion();

                PermisoBD objBD = new PermisoBD();

                List<Permiso> lista = objBD.ConsultarEstadoPermisos(this.comando, CodPerfil);

                this.CerrarConexion();

                return lista;
            }
            catch (Exception exc)
            {
                this.CerrarConexion();
                throw exc;
            }
        }
    }
}
